파일 및 디렉토리 관리 명령어

✒️ 2025-05-19 10:48 내용 수정


메뉴얼 출력

명령어 설명
man 명령어이름 명령어의 메뉴얼 출력

파일 및 디렉터리 생성 및 제거

명령어 옵션 설명
mkdir 폴더명 부모 디렉토리 생성
-m mode mode로 지정한 권한으로 디렉터리 생성
-p 부모 디렉토리까지 생성
rmdir 폴더명 부모 디렉토리 제거
-p 상위 경로가 비어있을 때만 상위 경로까지 제거
--verbose 삭제 진행 상황을 표시
touch 파일명 파일 생성
.파일명 숨김 속성의 파일 생성
-a 최근 파일 사용 시간만 업데이트
-c 지정한 파일이 없어도 파일을 새로 작성하지 않음
-r 파일 파일의 최종 갱신일을 지정한 파일로 변경
-t 시간 파일의 최종 갱신일을 지정한 시간으로 변경
-m 파일이 수정된 시간을 변경
rm 파일명 파일 제거
-r 디렉터리 제거
-f 파일 강제 삭제
-d rmdir 대신 unlink와 함께 경로 삭제
-i 삭제 여부를 확인
-v 삭제할 파일의 정보를 출력

파일 복사 및 변경

명령어 옵션 설명
mv 원본 바꿀이름/위치 파일이나 디렉터리를 이동시키거나, 이름을 바꾸거나, 덮어쓰기
-i 같은 이름의 파일이 있다면 덮어 쓸건지 확인
-f 강제로 덮어쓰기
-v 이동 중에 원본 파일과 바꿀 파일을 표시
-b 덮어쓰기할 때 백업 파일 작성, 파일이름 끝에 ~가 붙음
-u 같은 이름의 파일이 있다면 원본 파일이 더 새로운 파일일 때만 이동
cp 원본 복사할파일/디렉터리 파일이나 디렉터리를 복사
-i 같은 이름의 파일이 있을 경우 복사 여부 확인
-f 같은 이름의 파일이 있어도 강제로 복사
-a 원본 파일의 속성과 정보를 유지하여 복사
-b 백업 파일 생성
-d 심볼릭 링크와 하드링크를 그대로 링크 형태로 복사
-p 원본 파일의 퍼미션, 시간등의 정보를 그대로 복사
-P 원본 파일의 지정 경로 그대로 복사
-r 원본이 파일이든 디렉터리든 경로 내 모든 파일과 디렉터리를 복사
-R 원본이 디렉터리라면 하위 디렉터리 모두 복사
-u 같은 이름의 파일이 존재할 경우 원본이 더 새로운 파일일 때만 복사
-v 복사 과정을 상세히 나열

폴더 이동

명령어 옵션 설명
cd 폴더명 부모 디렉터리로 이동
. 현재 위치
.. 현재 위치의 상위 디렉터리
~ 현재 계정의 홈 디렉터리로 이동
/ root 디렉터리로 이동
$ 변수 이름에 지정된 디렉터리로 이동
pwd 현재 사용 중인 위치 정보
tty 현재 로그인되어 있는 터미널 장치 이름 확인

파일 검색

명령어 옵션 설명
grep 찾을내용 찾을위치 파일이나 디렉터리를 검색
-A 숫자 지정한 수의 줄만큼 일치하는 줄의 아래 내용 표시
-b 각 줄의 일치 결과를 표시하기 전 입력 파일의 byte-offset 표시
-c 일치하는 라인 수 표시
-C 숫자 지정한 수의 줄 만큼 일치하는 줄의 위와 아래 내용 표시
-e 패턴 지정한 패턴으로 탐색
-f 파일 검색 패턴을 지정한 파일 목록에서 가져옴
-h 검색 결과 목록에서 파일명은 제외
-i 검색 시 대소문자 구분 없음
-n 일치하는 라인의 결과와 파일에서의 라인의 라인 번호도 표시
-q 검색 결과를 표시하지 않음
-r 각 디렉터리의 하위 디렉터리도 탐색
-s 검색 시 에러를 표시하지 않음
-v 지정한 검색 패턴과 일치하지 않는 것을 표시
-w 한 단어와 일치하는 경우만 표시
-d read 디렉터리를 일반 파일처럼 읽고 탐색
-d skip 디렉터리를 넘김
-d recurse 디렉터리 아래의 모든 파일을 읽음
find symboliclink 경로 표현식 파일 및 디렉터리 검색
심볼릭 -P 기본 옵션. symboliclink를 따라가지 않고 링크 자체 정보 사용
심볼릭 -L symboliclink에 연결된 파일의 정보를 사용
심볼릭 -H symboliclink를 따라가지 않지만 명령문 argument를 사용 시엔 따라감.
-name 이름 해당 이름의 파일을 검색
-type 타입 해당 타입의 파일을 검색
-user 사용자 해당 사용자에게 속한 파일을 검색
-empty 빈 디렉터리나 파일 크기가 0인 파일 검색
-delete 이름 검색한 파일이나 디렉터리를 삭제
-exec 명령문 검색한 파일을 해당 명령문으로 실행
-size 크기 해당 크기의 파일을 검색
-perm 퍼미션 해당 퍼미션을 가진 파일을 검색
-print 검색 결과를 출력함
-atime [-/+]n n일 내에 접속한 파일(acess)을 검색
-mtime [-/+]n n일 이내에 수정된 파일(modify)을 검색
-ctime [-/+]n n일 이내에 생성된 파일(create)을 검색

파일 목록

명령어 설명
ls 파일과 디렉토리 목록 확인, 퍼미션 확인 가능
-a 숨김 표시 파일까지 모두 확인
-d 디렉터리 경로 안의 내용을 나열하지 않고 표시
-l 파일 형태, 사용 권한, 최종 갱신일, 소유자 등을 함께 표시
-n UID, GID를 사용하여 정렬
-t 파일을 최근 변경한 순서대로 표시
-f, -U 디스크에 저장된 순서대로 표시
-h 파일 크기에 맞춰 사람이 읽기 쉽게 표시
-k 파일을 KB 단위로 표시
-s 파일을 1KB 단위로 표시
-u 파일을 사용 순서대로 표시
-x 가로로 정렬
-r 내림차순으로 표시
-A 경로 내의 모든 파일 표시
-C 세로로 정렬
-F 분류 기호를 추가해서 표시
-G 그룹 정보를 제외하고 표시
-R 서브 디렉터리 안에 있는 파일과 디렉터리도 모두 표시
-S 큰 파일 순서대로 표시
-1 한 줄에 한 파일씩 표시
--full-time 파일 변경 시간을 자세하게 표시
-rw-r--r-- 1 user1 root  0 12월  7 13:18 1.txt

permission.png

파일속성 사용자 권한 그룹 권한 다른 사용자 권한 링크 수 소유자 그룹 파일 크기 작성일 시간 파일명
파일 rw r r 1 user1 root 0 12월 7 13:18 1.txt
분류기호 설명
/ 디렉터리
@ 심볼릭 링크
* 실행 가능 파일

파일 내용 출력

cat, head, tail, less, more

명령어 옵션 설명
cat 파일의 전체 내용을 읽어들인 후 출력, 파일 내용이 너무 길면 뒷부분만 나옴
-n 파일을 읽을 때 라인 번호 출력
-b 공백을 제외한 내용을 라인 번호 포함 출력
-E 줄이 끝나는 표시로 $를 추가하여 출력
-A 모든 제어 문자를 포함하여 출력
tac 파일의 전체 내용을 읽어들인 후 거꾸로 출력
-n 파일을 읽을 때 라인 번호 출력
head 파일의 맨 앞에서 10줄만 출력
-숫자 또는 -n 숫자 라인을 입력받은 숫자만큼 출력
-c 용량 원하는 출력 용량을 선택. size=b, k, m으로 지정
-q 출력 시 파일 이름 생략
-v 출력 시 파일 이름 포함
tail 파일의 맨 뒤에서 10줄만 출력
-숫자 또는 -n 숫자 라인을 입력받은 숫자만큼 출력
-c 용량 원하는 출력 용량을 선택. size=b, k, m으로 지정
-f tail -f /var/log/secure에서 사용자 로그인 실시간으로 추적
-q 출력 시 파일 이름 생략
-v 출력 시 파일 이름 포함
less head와 동일하지만 옵션이 다양하고, 페이지 단위 출력
b 이전페이지
spcae bar 다음 페이지
enter 한줄씩 넘어감
more 파일을 페이지 단위로 끊어서 출력
b 이전페이지
spcae bar 다음 페이지
enter 한줄씩 넘어감
$cat > 파일명
내용1
내용2
ctrl + d //(입력완료선언)

리다이렉션

기호 설명
> 출력, 덮어쓰기
>> 출력, 붙여쓰기
< 입력
<<

파일 정보 출력과 파일 비교

명령어 옵션 설명
wc 파일명 파일의 라인 수, 단어 수, 바이트 수, 이름 출력
cmp 파일1 파일2 파일1과 파일2을 비교해서 파일이 다르면 바이트, 라인 위치를 알려줌
diff 파일1 파일2 파일1과 파일2을 비교해서 화면에 라인위치c문자위치, 줄로 알려줌

cmp and diff.png